client^2 | can also be a server at the same time | ![2001-08-30 14:54:52.0](facet.gif) |
cannot connect with a server unless the server is listening | ![2001-08-30 14:54:52.0](facet.gif) |
has definition A program or process that connects to another program or process, using a communication channel, in order to request a service | ![2001-08-30 14:54:52.0](facet.gif) |
does concurrently - Waiting for interactions with the end-user, and responding when interactions occur
- Waiting for messages coming from the server, and responding when messages arrive
| ![2001-08-30 14:54:52.0](facet.gif) |
handles the disconnection of the server, because the server crashed or the network failed or because either the client or server requested disconnection | ![2001-08-30 14:54:52.0](facet.gif) |
initializes itself so it is able to communicate with the server | ![2001-08-30 14:54:53.0](facet.gif) |
initiates a connection to a server | ![2001-08-30 14:54:53.0](facet.gif) |
is a subtopic of 3.4 - The Client-Server Architecture | ![2001-08-30 14:54:53.0](facet.gif) |
is a kind of process^2 | ![2001-08-30 14:54:53.0](facet.gif) |
is a kind of program | ![2001-08-30 14:54:53.0](facet.gif) |
may access many servers to perform different functions | ![2001-08-30 14:54:53.0](facet.gif) |
may be located on the same computer as its server or on a different computer | ![2001-08-30 14:54:53.0](facet.gif) |
may try again to connect to the server if the server does not initially respond | ![2001-08-30 14:54:53.0](facet.gif) |
must know the network address of the server | ![2001-08-30 14:54:53.0](facet.gif) |
reacts to messages coming from the server | ![2001-08-30 14:54:53.0](facet.gif) |
see also client^2 | ![2001-08-30 14:54:53.0](facet.gif) |
sends messages to the server to request services | ![2001-08-30 14:54:53.0](facet.gif) |
terminates cleanly including includes disconnecting from a server if it is still connected | ![2001-08-30 14:54:53.0](facet.gif) |
program | is written by programmer | ![2001-08-30 14:57:05.0](facet.gif) |
should follow consistent guidelines that make the program easy to read | ![2001-08-30 14:57:06.0](facet.gif) |